package com.otod.sys.menu.service;

import java.util.List;
import java.util.Map;

import com.otod.base.exception.AppException;
import com.otod.sys.menu.bo.MenuTreeBO;
import com.otod.sys.vo.AuapTMenuVo;

/**
 * 菜单管理
 * @author jqiu
 *
 */
public interface IMenuService{
	/**
	 * 通过菜单编号查询菜单详细信息
	 * @return
	 */
	public AuapTMenuVo getMenuById(String menuId);
	
	/**
	 * 获取 相关用户的菜单
	 * @return
	 */
	public List<MenuTreeBO> getMenuTree(String empNO);
	
	/**
	 * 查询菜单列表
	 */
	public List<AuapTMenuVo> queryForList(Map<String, Object> params);
	
	/**
	 * 新增
	 */
	public void insert(AuapTMenuVo auapTMenu);
	/**
	 * 修改
	 */
	public void update(Map map);
	/**
	 * 删除
	 * @throws AppException 
	 */
	public void deleteById(String menuId) throws AppException;
	
	
	/**
	 * 获取所有菜单List
	 * @return
	 */
	public List<AuapTMenuVo> getAllMenuTreeList();
	
	/**
	 * 获取所有类型为菜单的menuList
	 * @return
	 */
	public List<AuapTMenuVo> getAllMenuList();
	/**
	 * 获取菜单的儿子节点
	 * @param menuId 菜单ID
	 * @return
	 */
	public List<AuapTMenuVo> queryChildrenForList(String menuId);
}
